<?php



class ContaDaoImp{

//armazena a conexão com o BD
    private $conn;

    public function __construct() {
        include_once("Conexao.class.php");
        $contCon = new Conexao;
        $this->conn = $contCon->conectar();
    }

    public function inserir($cont) {

        try {
//Executa a instruação sql
            $this->conn->exec("Insert into Conta values(default,{$cont->getSaldo()})");
        } catch (PDOException $e) {
            print "Erro!: " . $e->getMessage() . "\n";
            die();
        } catch (Exception $e) {
            print "Erro: " . $e->getMessage() . "\n";
        }
    }

    public function deletar($cont) {
        try {
//Executa a instruação sql
            $this->conn->exec("Delete from conta where idConta = {$cont->getId()}");
        } catch (PDOException $e) {
            print "Erro!: " . $e->getMessage() . "\n";
            die();
        }
    }

    public function alterar($cont) {
        try {
//Executa a instruação sql
            $this->conn->exec("Update conta set saldo = '{$cont->getSaldo()}' where idConta = {$cont->getId()}");
        } catch (PDOException $e) {
            print "Erro!: " . $e->getMessage() . "\n";
            die();
        }
    }

    public function buscarNome($nome) {
        try {
//Executa a instruação sql
            $result = $this->conn->query("Select * from conta where nome like '%{$nome}%'");
//fecha a conexão
            $this->conn = null;
        } catch (PDOException $e) {
            print "Erro!: " . $e->getMessage() . "\n";
            die();
        }
        return $result;
    }

    public function buscarId($id) {
        try {
//Executa a instruação sql
            $result = $this->conn->query("Select * from conta where idConta = {$id}");
//fecha a conexão
            $this->conn = null;
        } catch (PDOException $e) {
            print "Erro!: " . $e->getMessage() . "\n";
            die();
        }
        return $result;
    }

    public function __destruct() {
        //fecha a conexão
        $this->conn = null;
    }

}
?>